package com.example.springbootdemo1.controller;

import com.example.springbootdemo1.utils.ServerResponse;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.UUID;

@RestController
public class CommonController {
    @Value("${uploadPath}")
    String uploadPath;
    @PostMapping("/upload")
    public ServerResponse<String> uploadFile(MultipartFile file) throws IOException {
        if(file.getSize()>0){


        //定义日期格式
        LocalDate currentDate =LocalDate.now();
        DateTimeFormatter formatter= DateTimeFormatter.ofPattern("yyyy/MM/dd");
        String formatDate = currentDate.format(formatter);

        //指定路径 d:\\upload   ，不改名
        File path = new File(uploadPath,formatDate);
        if(!path.exists()){
            path.mkdirs();
        }
        //取后缀
        String newFileName= UUID.randomUUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
        File f = new File(path,newFileName); //f就是我们上传的文件
        file.transferTo(f);
        return ServerResponse.createBySuccess(200,"/upload/"+formatDate+"/"+newFileName,"上传成功");
        }else{
            return ServerResponse.createBySuccess(500,"","上传失败");
        }
    }
}
